Entity Relationship Diagram (ERD)
SEJARAH ERDModel Entity Relationship diperkenalkan pertama kali oleh P.P. Chen pada tahun 1976. ERD ini dirancang untuk menggambarkan persepsi dari pemakai dan berisi obyek-obyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship.
Data Modeling merupakan cara untuk menyusun dan mengorganisasikan data sehingga dapat digunakan dengan mudah oleh database. ERD adalah salah satu cara permodelan data (data modeling).
Apakah yang dimaksud dengan Entity Relationship Diagram (ERD)?Sebuah ERD menggambarkan data dalam konteks entitas dan hubungannya. Tujuan utama dari sebuah ERD adalah untuk mendokumentasikan struktur logis dari database.
Data Modeling merupakan cara untuk menyusun dan mengorganisasikan data sehingga dapat digunakan dengan mudah oleh database. ERD adalah salah satu cara permodelan data (data modeling).
Apakah yang dimaksud dengan Entity Relationship Diagram (ERD)?Sebuah ERD menggambarkan data dalam konteks entitas dan hubungannya. Tujuan utama dari sebuah ERD adalah untuk mendokumentasikan struktur logis dari database.
Elemen-elemen ERD:
1.
Entity (Entitas)
Entity
(entitas) adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun
abstrak di mana data tersimpan atau di mana terdapat data.
Entitas
diberi nama dengan kata benda dan dapat dikelompokkan dalam 4 (empat) kelas,
yaitu: role (peran), events (kejadian), locations (lokasi),
tangible things / concepts (sesuatu yang tidak nyata / konsep). Contoh:
pegawai, pembelian, kampus, buku, pembayaran. Contoh detil dari suatu entity
(entitas) disebut instance. Contoh: pegawai bernama Dodo, Noni, Citra,
dll…
2.
Relationship
Relationship
adalah hubungan alamiah yang terjadi antara entitas. Contohnya: Entitas
Mahasiswa dengan NIM = “14534” dan NamaMhs = “Dodo” yang mempunyai relasi
dengan Entitas Kuliah dengan KodeKul = “SI-140” dan NamaMK = “Basis Data”,
sehingga struktur data dari Relasi ini bahwa mahasiswa tersebut mengambil mata
kuliah pada suatu perguruan tinggi.
Hubungan
antara entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang
terjadi, yaitu: derajat (kardinalitas) dan partisipasi hubungan.
3.
Atribut
Deskripsi
kelompok data yang mempunyai karakteristik yang sama (data yang mendeksripsikan
entity dan relationship), merupakan field yang akan disimpan.
SINGLE-VALUED
ATTRIBUTE (Atribut Bernilai Tunggal)
Atribut
Bernilai Tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu
nilai untuk setiap baris data.
Contoh:
Pada tabel Mahasiswa, NIM, NmMhs (Nama
Mahasiswa) dan AlmtMhs (Alamat Mahasiswa), merupakan atribut bernilai
tunggal, karena atribut-atribut tersebut hanya dapat berisikan satu nilai.
MULTI-VALUED
ATTRIBUTE (Atribut Bernilai Banyak)
Atribut
bernilai banyak ditujukan pada atribut-atribut yang dapat kita isi dengan lebih
dari satu nilai, tetapi jenisnya sama.
Contoh:
Atribut
hobby pada tabel Mahasiswa, termasuk atribut bernilai banyak, karena
kecenderungan seorang mahasiswa memiliki lebih dari satu hobby.
DERIVED
ATTRIBUTE (Atribut Turunan)
Atribut Turunan adalah atribut yang
nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau
tabel lain yang berhubungan.
SIMPLE
ATTRIBUTE (Atribut Sederhana) dan COMPOSITE ATTRIBUTE (Atribut Komposit)
Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lagi, sedangkan atribut komposit merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub
atribut yang masing-masing memiliki makna.
KARDINALITAS
& PARTISIPASI
1.
Cardinality
(kardinalitas)
menyatakan jumlah anggota entitas yang terlibat di dalam relasi yang terjadi.
Dalam hal ini relasi yang terjadi akan membentuk relasi hubungan (relationship
instances). Contoh:
- Seorang dosen paling banyak mengepalai satu jurusan, tetapi ada dosen yang tidak menjadi ketua jurusan >>relasi one to one (relasi 1:1)
- Seorang dosen bisa menerima honor beberapa kali, tetapi mungkin juga tidak menerima honor jika ia tidak mengajar>>relasi one to many (relasi 1:M)
- Seorang customer dapat membeli beberapa barang dan sebuah barang dapat dibeli oleh beberapa customer >>relasi many to many (relasi M:N)
Pasangan
antara anggota entitas A dan B dapat dilakukan sesuai dengan derajat
hubungannya, yaitu relasi 1:1, 1:M atau relasi M:N
A.
Derajat hubungan 1:1
Derajat
hubungan 1:1 terjadi bila setiap anggota entitas A hanya boleh berpasangan
dengan satu anggota dari entitas B, dan sebaliknya tiap anggota entitas B hanya
boleh berpasangan dengan satu anggota dari entitas A.
E-R diagram antara entitas A dan B dengan
derajat hubungan 1:1 dilukiskan dengan mencantumkan pada garis hubungan.
Sedangkan instance hubungan antar anggota entitas yang terjadi adalah pasangan
a2 – b1, a3 – b2 dan a4 – b5. Sedangkan a1, a5, b3 dan b4 masing-masing tidak
mempunyai pasangan. Dengan demikian dapat dikatakan bahwa derajat hubungan 1:1
mencakup juga 1:0 dan 0:1
B.
Derajat hubungan 1: M
Derajat
hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih
dari satu anggota entitas B. Sebaliknya tiap anggota entitas B hanya boleh
berpasangan dengan satu anggota entitas A.
C.Derajat
hubungan M : N
Derajat
hubungan antar entitas m:n terjadi bila tiap anggota entitas A dapat
berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota
entitas B juga dapat berpasangan dengan lebih dari satu anggota entitas A.
C.Derajat
hubungan M : N
Derajat
hubungan antar entitas m:n terjadi bila tiap anggota entitas A dapat
berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota
entitas B juga dapat berpasangan dengan lebih dari satu anggota entitas A.
Contoh Relasi One to One
Setiap dosen paling banyak mengepalai satu
jurusan (walau tidak semua dosen mengepalai jurusan). Dan setiap jurusan dikepalai
palinng bayak satu dosen.
Mengepalai : Foreign-Key (Kunci Asing)
-> penghubung
Contoh Relasi One to Many
Setiap dosen dapat mengajar lebih dari
satu mata kuliah, sedangkan setiap mata kuliah diajar paling banyak satu dosen.
Contoh Relasi Many to Many
Setiap mahasiswa dapat mempelajari banyak
mata kuliah dan setiap mata kuliah dapat dipelajari oleh banyak mahasiswa.
Tahapan Pembuatan ERD
}
Mengidentifikasi dan menetapkan seluruh
himpunan entitas yang akan terlibat
}
Menentukan atribut-atribut key dari
masing-masing himpunan entitas
}
Mengidentfikasi dan menetapkan seluruh
himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta
foreign key-nya
}
Menentukan derajat/kardinalitas relasi
untuk setiap himpunan relasi
}
Melengkapi himpnan entitas dan himpunan
relasi dengan atribut deskriptif (non
key)
CONTOH-CONTOH Kasus
}
Sebuah bank memiliki beberapa cabang di
daerah yang berlainan. Masing-masing cabang memiliki pelanggan yang relatif
banyak. Sebuah rekening mungkin saja dimiliki oleh beberapa pelanggan dan setiap pelanggan boleh
memiliki banyak rekening.
Gambarkan skema ERD dan tabel untuk kasus ini.
Pelanggan (NoPel, Nama, Alamat,
Jabatan)
Milik (NoPel, NoAkun)
Akun (NoAkun, Jumlah, NoCabang)
Cabang (NoCabang, AlamatCabang,
Manager),
Transaksi (NoTransaksi,
TglTransaksi, Waktu Transaksi, Jumlah Transaksi, JenisTransaksi, NoAkun)
Contoh
Kasus 2
Contoh
Kasus:
Sebuah perusahaan memiliki beberapa
departemen. Setiap departemen terdiri dari seorang supervisor dan paling
sedikit satu orang pegawai.
Pegawai dapat bekerja paling tidak di satu
departemen, tapi mungkin juga lebih dari satu departemen.
Sedikitnya
satu orang pegawai diikutsertakan dalam sebuah proyek, seorang pegawai mungkin
berlibur dan tidak diikutsertakan dalam proyek apapun. Field data yang penting
adalah nama departemen, proyek, supervisor, dan pegawai, serta no.supervisor,
no.pegawai, dan no.proyek sebagai key.
Langkah
penciptaan ERD:
1.
Identifikasi Entitas
Entitas
dalam sistem ini adalah Departemen, Pegawai, Supervisor dan Proyek. Seseorang mungkin saja membuat Perusahaan sebagai sebuah
entitas, tetapi ini adalah entitas yang salah, karena hannya memiliki satu
instance dalam permasalahan ini. Entitas yang benar harus memiliki lebih dari
satu instance.
2.
Tentukan Relationship
Matriks
Relasi Entitas:
3. Gambar
“KASAR” ERD
Kita
menghubungkan entitas yang mempunyai relasi seperti yang ditunjukkan pada
matriks relasi entitas.
4.
Tentukan Kardinalitas
Berdasarkan deskripsi permasalahan, dapat
diketahui bahwa:
1. Setiap Departemen dipimpin
oleh satu Supervisor
2. Seorang Supervisor hanya
memimpin satu Departemen
3. Setiap Departemen memiliki
paling sedikit satu Pegawai
4. Setiap Pegawai bekerja
paling sedikit pada satu Departemen
5. Setiap Proyek paling
sedikit melibatkan satu orang Pegawai
6.
Seorang Pegawai dapat terlibat dalam beberapa Proyek atau bahkan
tidak sama sekali.
5.
Tentukan Kunci utama (Primary-Keys)
Kunci utama (primary keys) adalah Nama Departemen
(NmDept), Nomor Supervisor (NoSpv), Nomor Pegawai (NoPeg)
dan Nomor Proyek (NoPryk)
6. Gambar
ERD berdasarkan kunci
7.
Menentukan Atribut
Atribut yang diperlukan adalah Nama
Departemen, Nama Proyek, Nama Supervisor, Nama Pegawai selain
Primary Keys.
8.
Pemetaan Atribut
9. Gambar
ERD dengan Atribut